	var editIndex = undefined;
	function endEditing(tabId){
		if (editIndex == undefined){return true}
		if ($('#'+tabId).datagrid('validateRow', editIndex)){
			//$('#'+tabId).datagrid('getRows')[editIndex]['operaton']= '<a href="javascript:void(0);" onclick="remove1(\''+tabId+'\')">删除</a>';
			$('#'+tabId).datagrid('endEdit', editIndex);
			editIndex = undefined;
			return true;
		} else {
			return false;
		}
	}
	function onClickRow(tabId,index){
		if (editIndex != index){
			if (endEditing(tabId)){
				$('#'+tabId).datagrid('selectRow', index)
						.datagrid('beginEdit', index);
				editIndex = index;
			} else {
				$('#'+tabId).datagrid('selectRow', editIndex);
			}
		}
	}

	function append(tabId){
		if (endEditing(tabId)){
			$('#'+tabId).datagrid('appendRow',{status:'P'});
			editIndex = $('#'+tabId).datagrid('getRows').length-1;
			$('#'+tabId).datagrid('selectRow', editIndex)
					.datagrid('beginEdit', editIndex);
		}
	}
	function removeInfo(tabId,url){
		var row = $('#'+tabId).datagrid('getSelected');
		if (row) {
	      if(!row.valueId){
	    	  var rowIndex = $('#'+tabId).datagrid('getRowIndex', row);
	    	  $('#'+tabId).datagrid('deleteRow', rowIndex);  
			  $('#'+tabId).datagrid('reload');//删除后重新加载下
			  editIndex = undefined;
		  }else{
			$.ajax({
				type: "post",
				url: url+"?id="+row.valueId,
				dataType: "json",
				success: function(data){
					var result = data;
					if(result.flag=='T'){
						$.messager.alert('结果', '操作成功', 'info');	
						 var rowIndex = $('#'+tabId).datagrid('getRowIndex', row);
						   $('#'+tabId).datagrid('deleteRow', rowIndex);  
						   $('#'+tabId).datagrid('reload');//删除后重新加载下
						   editIndex = undefined;
					}else if(result.flag=='H'){
						$.messager.alert('结果', result.msg, 'info');	
					}else{
						$.messager.alert('结果', '操作失败，请重试', 'error');	
					}
				}
			});
		  }
	    }
	}
	function accept(tabId,datas,url){
			if (endEditing(tabId)){
				doSubmit(url,datas,tabId);
			}
	}
	function saveTransactionTime(tabId,value4){
		$('#'+tabId).datagrid('acceptChanges');
		var row = $('#'+tabId).datagrid('getSelected');
		if (row){
			if(isCheckParams(tabId,row)){
				var datas ={rulesId:$("#rulesId").val(),rulesCode:$("#rulesCode").val(),sourceId:$("#sourceId").val(),value1:row.value1,value2:row.value2,value3:row.value3,value4:value4,valueId:row.valueId};
				accept(tabId,datas,'');
			}else{
				 var rowIndex = $('#'+tabId).datagrid('getRowIndex', row);
		    	  $('#'+tabId).datagrid('deleteRow', rowIndex);  
				  $('#'+tabId).datagrid('reload');//删除后重新加载下
				  editIndex = undefined;
			}
		}
	}
	
	function saveOther(tabId){
		$('#'+tabId).datagrid('acceptChanges');
		var row = $('#'+tabId).datagrid('getSelected');
		if (row){
			var datas ={rulesId:$("#rulesId").val(),rulesCode:$("#rulesCode").val(),sourceId:$("#sourceId").val(),value1:row.value1,value2:row.value2,valueId:row.valueId};
			accept(tabId,datas,'');
		}
	}

	/***********************************************************************
	* 判断一个字符串是否为合法的时间格式：HH:MM
	*/
	function isTimePart(timeStr){
	   var parts;
	   parts = timeStr.split(':');
	   if(parts.length != 2){
	   //日期部分不允许缺少小时、分钟中的任何一项
	     return false;
	   }
	   for(i = 0 ;i < parts.length; i ++){
	   //如果构成时间的某个部分不是数字，则返回false
	     if(isNaN(parts[i])){
	       return false;
	     }
	   }
	   h = parts[0];//小时
	   m = parts[1];//分
	   if( h < 0 || h > 23){
	   //限制小时的范围
	     return false;
	   }
	   if( m < 0 || h > 59){
	   //限制分钟的范围
	     return false;
	   }
	   return true;
	}
	
	/***********************************************************************
	* 判断一个字符串是否为合法的日期格式：YYYY-MM-DD
	*/
	function isDatePart(dateStr){
	   var parts;
	   if(dateStr.indexOf("-") > -1){
	     parts = dateStr.split('-');
	   }else if(dateStr.indexOf("/") > -1){
	     parts = dateStr.split('/');
	   }else{
	     return false;
	   }
	   if(parts.length < 3){
	   //日期部分不允许缺少年、月、日中的任何一项
	     return false;
	   }
	   for(i = 0 ;i < 3; i ++){
	   //如果构成日期的某个部分不是数字，则返回false
	     if(isNaN(parts[i])){
	       return false;
	     }
	   }
	   y = parts[0];//年
	   m = parts[1];//月
	   d = parts[2];//日
	   if(y > 3000){
	     return false;
	   }
	   if(m < 1 || m > 12){
	     return false;
	   }
	   switch(d){
	     case 29:
	       if(m == 2){
	       //如果是2月份
	         if( (y / 100) * 100 == y && (y / 400) * 400 != y){
	           //如果年份能被100整除但不能被400整除 (即闰年)
	         }else{
	           return false;
	         }
	       }
	       break;
	     case 30:
	       if(m == 2){
	       //2月没有30日
	         return false;
	       }
	       break;
	     case 31:
	       if(m == 2 || m == 4 || m == 6 || m == 9 || m == 11){
	       //2、4、6、9、11月没有31日
	         return false;
	       }
	       break;
	     default:
	   }
	   return true;
	}
	
	/***********************************************************************
	* 判断一个字符串是否是数值格式
	*/
	function isNumber(numStr){
	   return !isNaN(numStr);
	}
	
	function isCheckParams(type,rowData){
		var mark =false;
		if ("normalTimeList"==type || "rulesAuctionList"==type){
			 var stime=isTimePart(rowData.value1); 
			 var etime = isTimePart(rowData.value2);
			 if(stime==true && etime==true){
			    mark =true;
			 }else{
				 $.messager.alert('错误提示', '格式输入不正确', 'info');
			 }
		} else if("specialTimeList"==type){ //特殊交易时间
			var nytime=isDatePart(rowData.value3);
			var stime=isTimePart(rowData.value1); 
			 var etime = isTimePart(rowData.value2);
			 if(stime==true && etime==true && nytime==true){
			    mark =true;
			 }else{
				 $.messager.alert('错误提示', '格式输入不正确', 'info');
			 }
	   }
		return mark;
	}